﻿using System;
using System.Linq;
using PhoneReference.DataLayer;
using System.Collections;

namespace PhoneReference.DataLayer
{
    //интерфейс для классов работы с записями таблиц
    public interface DataHandling
    {
        object ShowAllRecords();//выводит все строки
        void AddRecords();//добавление записей
        void DeleteRecords();//удаление записей
    }

    //класс работы с таблцей tLocation
    public class DataHandlingLocation : DataHandling
    {
        private PhoneReferenceEntities pre;
        public DataHandlingLocation()
        {
            pre = new PhoneReferenceEntities();

        }
        /// <summary>
        ////Отображение всех записей таблицы tLocation
        /// </summary>
        /// <returns>Возвращает коллекцию элементов</returns>
        public object ShowAllRecords()
        {
            var AllLocation = from p in pre.tLocation select p;
            return AllLocation.ToList();
        }
        /// <summary>
        /// добавление записей в таблицу tLocation
        /// </summary>
        /// <param name="name">tLocation.Number</param>
        /// <param name="number">tLocation.Name</param>
        public void AddRecords(string name, string number)
        {
            tLocation Location = new tLocation();
            Location.Name = name;
            Location.Number = number;
            pre.tLocation.AddObject(Location);
            pre.SaveChanges();
        }
        /// <summary>
        /// Удаление записей из таблицы tLocation по LocationId
        /// </summary>
        /// <param name="n">tLocation.LocationId</param>
        public void DeleteRecords(int n)
        {
            tLocation Location = new tLocation();
            var loc = (from l in pre.tLocation
                       where l.LocationId == n
                       select l);
            Location = loc.First();
            pre.tLocation.DeleteObject(Location);
            pre.SaveChanges();
        }
        public void AddRecords()
        {
            throw new NotImplementedException();
        }
        public void DeleteRecords()
        {
            throw new NotImplementedException();
        }
    }
}
